Edges are usually one of the most important features in a structure, and can often be used for measurements after appropriate edge detection has been applied. The edge detection filters available in Dragonfly can be used to emphasize the edges and transitions in an image. Refer to the comparison chart below for a quick overview of the available filters.
|
|
|
|
|
Original image |
|
Canny |
|
Difference of Gaussian (DoG) |
|
|
|
|
|
Laplacian |
|
Prewitt (Horizontal) |
|
Prewitt (Vertical) |
|
|
|
|
|
Scharr (horizontal) |
|
Scharr (vertical) |
|
Sobel |
The Canny filter is a multi-stage edge detector. It uses a filter based on the derivative of a Gaussian in order to compute the intensity of the gradients. The Gaussian reduces the effect of noise present in the image. Then, potential edges are thinned down to 1-pixel curves by removing non-maximum pixels of the gradient magnitude. Finally, edge pixels are kept or removed using hysteresis thresholding on the gradient magnitude.
References
[1] http://scikit-image.org/docs/dev/auto_examples/edges/plot_canny.html?highlight=canny
[2] Canny, J., A Computational Approach To Edge Detection, IEEE Trans. Pattern Analysis and Machine Intelligence, 8:679-714, 1986
The Laplacian filter, which can be used to emphasize the edges in an image, highlights the regions in which there is a rapid intensity change using a discrete convolution kernel that approximates the second derivatives of the image in the definition of the Laplacian. The Laplacian enhancement operation generates sharp peaks at the edges, and any brightness slope, regardless of whether it is positive or negative, is accentuated.
References
[1] http://www.tutorialspoint.com/dip/Laplacian_Operator.htm
Finds the horizontal and/or vertical edges of an image using the Prewitt transform.
References
[1] http://scikit-image.org/docs/dev/api/skimage.filters.html?highlight=prewitt#skimage.filters.prewitt_h
[2] http://scikit-image.org/docs/dev/api/skimage.filters.html?highlight=prewitt#skimage.filters.prewitt_v
Finds the horizontal and/or vertical edges of an image using the Scharr transform.
References
[1] http://scikit-image.org/docs/dev/api/skimage.filters.html?highlight=prewitt#skimage.filters.scharr_h
[2] http://scikit-image.org/docs/dev/api/skimage.filters.html?highlight=prewitt#skimage.filters.scharr_v
[3] https://en.wikipedia.org/wiki/Sobel_operator#Alternative_operators
Derivative filters provide a quantitative measurement for the rate of change in pixel brightness information present in an image. When a derivative filter is applied, the resulting data concerning brightness fluctuation rates can be used to enhance contrast, detect edges and boundaries, and to measure feature orientation. One of the most important derivative filters is the Sobel filter, which is based on a convolution operation that can produce a derivative in any of eight directions.
The Sobel filter, which is named after Irwin Sobel, creates an image which emphasizes edges and transitions. It is a discrete differentiation operator that computes an approximation of the gradient of the image intensity function. At each point in the image, the result of the Sobel operator is either the corresponding gradient vector or the norm of this vector. The Sobel operator is based on convolving the image with a small, separable, and integer valued filter in the horizontal and vertical directions. Although these convolutions can be very useful for edge enhancement of images captured in microscopes, the gradient approximation that it produces is often relatively crude, in particular for high frequency variations in the image.
References